package cn.itcast.crm.dao;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;

import cn.itcast.crm.domain.Customer;

public interface CustomerRepository extends JpaRepository<Customer, Integer> {
    //查询所有关联定区的客户 通过带规则的方法 即定区id为null 的
	public List<Customer> findByFixedAreaIdIsNull();
    //通过定区id查询已关联的定区的客户
	public List<Customer> findByFixedAreaId(String fixedAreaId);
    //定区关联客户 修改客户的定区信息为传过来的定区的id 让其他所关联
	@Query("update Customer set fixedAreaId = ? where id = ?")
	@Modifying
	public void updateFixedAreaId(String fixedAreaId, Integer id);

	
	//解除关联客户 先把改定区id下所有的客户的定区id置为null
	@Query("update Customer set fixedAreaId = null where fixedAreaId = ?")
	@Modifying
	public void clearFixedAreaId(String fixedAreaId);
	
	

	
	//根据telephone查询客户customer对象
	public Customer findByTelephone(String telephone);
	
	
	//修改type为1
	@Query("update Customer set type=1 where telephone = ?")
	@Modifying   //设置修改标志
	public void updateType(String telephone);
	
	
	
	//用户登录功能
	public Customer findByTelephoneAndPassword(String telephone,String password);
	
	
	
	//bos_management系统中拿到客户下单的地址和crm_management系统中的已有客户的地址进行全地址匹配
	//根据地址找到定区id
	@Query("select fixedAreaId from Customer where address = ?")
	public String findFixedAreaIdByAddress(String address);

}
